# -*- coding: utf-8 -*-

'''
Created on 06.08.2011

@author: Vlasov A. I. <root@proscript.ru>
'''

class ASPRouter(object):
    ASP_OBJECTS = ['ASPAddresses', 'AccountingAttribute', 'ASPPostOffice', 'Bank',
                   'Citizen', 'CitizenAccountingAttributes', 'CitizenBanksAndPostOffices',
                   'DeregistrationReason', 'IssuingAgency' ]
    
    def db_for_read(self, model, **hints):
        " Все операции чтения объектов АСП осуществлять из базы АСП"
        if model._meta.object_name in self.ASP_OBJECTS:
            return 'asp'
        return None

    def db_for_write(self, model, **hints):
        "Писать в базу АСП нельзя"
        #if model._meta.object_name in self.ASP_OBJECTS:
        #    return 'asp'
        return None

    def allow_relation(self, obj1, obj2, **hints):
        "Разрешить связи от MySQL к АСП"
        if obj1._meta.object_name in self.ASP_OBJECTS and obj2._meta.object_name in self.ASP_OBJECTS:
            return True
        elif obj1._meta.object_name in self.ASP_OBJECTS:
            return True
        return None

    def allow_syncdb(self, db, model):
        "Запретить синхронизацию моделея в базе АСП"
        if db == 'asp':
            return False
        elif model._meta.object_name in self.ASP_OBJECTS:
            return False
        return None